1. Field of the Invention
This invention is related to the field of integrated circuits and, more particularly, to implementing transcendental and certain non-linear functions in integrated circuits.
2. Description of the Related Art
There is a class of mathematical functions that are referred to as “transcendental” functions. Transcendental functions are functions that cannot be expressed in a finite sequence of algebraic operations. Examples include exponential functions, logarithmic functions, and trigonometric functions.
Transcendental functions have a variety of uses in integrated circuits. For example, various transcendental functions are often used in the manipulation of video values such as pixels. Gamma/Degamma operations include transcendental functions, for example. Accordingly, it is necessary to implement transcendental functions in integrated circuits.
Because the transcendental functions do not have a finite algebraic representation, the functions cannot be implemented directly in hardware. One technique to approximate a transcendental function uses a lookup table (LUT) that stores results for a given transcendental function at various preselected points. Two points nearest an input operand to the function are read from the LUT, and linear interpolation between the two points is used to approximate an answer for the input operand. To achieve an acceptable level of accuracy, the LUTs must be made very large. Certain other non-linear functions may similarly require large LUTs to provide an acceptable level of accuracy (e.g. the reciprocal function 1/x, square root, etc.).